#ifndef CLISTBOX_H
#define CLISTBOX_H

#include "cControl.h"


struct itemStruct
{
    COLORREF    backgroundColor;
    void *      data;
    vector <string> libelleColonne;

};


class cListBox : public cControl
{
    public:
        cListBox(cHwnd * hwndParent,int x,int y,int width,int height,cHwnd * HWNDParent=NULL);
        ~cListBox();

        functionEvenement OnDoubleClick;

        void        DefinirColonnes(int nombreColonne,...);
        void        AjouterColonne(string text , int largeur, int alignement);
        int         InsererLigne(int nombreColonne,...);
        int         TrouverLigne(int colonne,string texteATrouver);
        void        SetCellText(int ligne,int colonne,string nouveauText,void * data=NULL);
        COLORREF    GetRowColor(int row);
        void        SetRowColor(int ligne,COLORREF couleur);
        void *      GetCellData(int ligne,int colonne);
        bool        TraitementEvent(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam,LRESULT & resultat);
        void        DeleteAllRows();
        int         colonnetriee;
        bool        senstri;
        itemStruct * GetSelectedRow();

    protected:
    private:
        int         nbColonnes;
        int         nbLignes;


};

#endif // CLISTBOX_H
